package cn.aiweiyi.qingjing.coupon.comm.constant;

import lombok.AllArgsConstructor;
import lombok.Getter;
import lombok.NoArgsConstructor;

import java.lang.instrument.IllegalClassFormatException;
import java.util.Objects;
import java.util.stream.Stream;

/**
 * 商品类型枚举
 */
@Getter
@NoArgsConstructor
@AllArgsConstructor
public enum GoodsType {
    CULT_ENT("文化和娱乐Culture_Entertainment", 1),
    FRESHES("生鲜", 2),
    HOME("家具", 3),
    OTHERS("其它", 999),
    ALL("全品类", 1000);

    private String desc;//描述

    private Integer code;//编码


    //提供一个方便的方法,用于根据字符串code转化为枚举类型
    public static GoodsType of(Integer code){
        //要求参数不为空
        Objects.requireNonNull(code);

        return Stream.of(values())
                .filter(bean ->bean.code.equals(code))
                .findAny()
                .orElseThrow(()->new IllegalArgumentException());
    }
}
